package com.example.workshop.lesson11;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;

@Component
public class RecommenderImplementation {
			//使用过滤接口选择过滤器

			private Logger logger=LoggerFactory.getLogger(this.getClass());
			private Filter filter;

			@Autowired
			public void setFilter(Filter filter){
				logger.info("In RecommenderImplementation setter method..dependency injection");
				this.filter=filter;
			}

			//初始化代码
			@PostConstruct
			public void postConstruct(){
				logger.info("In RecommenderImplementation postConstruct method");
			}

			@PreDestroy
			public void preDestroy(){
				//用于清理代码
				logger.info("In RecommenderImplementation preDestroy method");
			}
			//使用过滤器来获得推荐
			public String [] recommendMovies(String movie) {
			
			//打印正在使用接口实现的名称
			System.out.print("正在使用的过滤器的名称"+filter+"\n");
				
			String [] results=filter.getRecommendations("Finding Dory");
			
			return results;
	
		}
}


